package otherPractice;

import java.io.Externalizable;
import java.util.ArrayList;
import java.util.Vector;

public class Person {

    private String name;
    private int age;

    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }

    //指向 同一个引用地址
    public static void PersonCrossTest1(Person person){
        System.out.println("传入的person的name："+person.getName());
        person.setName("我是张小龙");
        System.out.println("方法内重新赋值后的name："+person.getName());
    }

    //指向 两个不同的引用地址
    public static void PersonCrossTest2(Person person){
        System.out.println("传入的person的name："+person.getName());
        person = new Person();
        person.setName("我是张小龙");
        System.out.println("方法内重新赋值后的name："+person.getName());
    }
    //测试
    public static void main(String[] args) {
        Person p=new Person();
        p.setName("我是马化腾");
        p.setAge(45);
        PersonCrossTest1(p);
        System.out.println("方法执行后的name："+p.getName());

        System.out.println("=======================================");

        Person p1=new Person();
        p1.setName("我是马化腾");
        p1.setAge(45);
        PersonCrossTest2(p1);
        System.out.println("方法执行后的name："+p1.getName());

//        new Thread(new Runnable() {
//            @Override
//            public void run() {
//
//            }
//        }).start();

    }
}
